-- Network Working Group SNMPv2 Working Group
-- Request for Comments: 1902 J. Case
-- Obsoletes: 1442 SNMP Research, Inc.
-- Category: Standards Track K. McCloghrie
-- Cisco Systems, Inc.
-- M. Rose
-- Dover Beach Consulting, Inc.
-- S. Waldbusser
-- International Network Services
-- January 1996-- Structure of Management Information
-- for Version 2 of the
-- Simple Network Management Protocol (SNMPv2)SNMPv2-SMI DEFINITIONS::=BEGIN-- the path to the rootorg OBJECTIDENTIFIER::={ iso 3}dod OBJECTIDENTIFIER::={ org 6}internet OBJECTIDENTIFIER::={ dod 1}directory OBJECTIDENTIFIER::={ internet 1}
mgmt OBJECTIDENTIFIER::={ internet 2}mib-2 OBJECTIDENTIFIER::={ mgmt 1}transmission OBJECTIDENTIFIER::={ mib-2 10}experimental OBJECTIDENTIFIER::={ internet 3}private OBJECTIDENTIFIER::={ internet 4}enterprises OBJECTIDENTIFIER::={ private 1}security OBJECTIDENTIFIER::={ internet 5}snmpV2 OBJECTIDENTIFIER::={ internet 6}-- transport domainssnmpDomains OBJECTIDENTIFIER::={ snmpV2 1}-- transport proxiessnmpProxys OBJECTIDENTIFIER::={ snmpV2 2}
-- module identitiessnmpModules OBJECTIDENTIFIER::={ snmpV2 3}-- definitions for information modulesMODULE-IDENTITYMACRO::=BEGINTYPENOTATION::="LAST-UPDATED" value(Update UTCTime)"ORGANIZATION" Text
"CONTACT-INFO" Text
"DESCRIPTION" Text
RevisionPart
VALUENOTATION::=
value(VALUEOBJECTIDENTIFIER)
RevisionPart ::=
Revisions
| empty
Revisions ::=
Revision
| Revisions Revision
Revision ::="REVISION" value(Update UTCTime)"DESCRIPTION" Text
-- uses the NVT ASCII character set
Text ::="""" string """"ENDOBJECT-IDENTITYMACRO::=BEGINTYPENOTATION::="STATUS" Status
"DESCRIPTION" Text
ReferPart
VALUENOTATION::=
value(VALUEOBJECTIDENTIFIER)
Status ::="current"
| "deprecated"
| "obsolete"
ReferPart ::="REFERENCE" Text
| empty
Text ::="""" string """"END-- names of objects
ObjectName ::=OBJECTIDENTIFIER
NotificationName ::=OBJECTIDENTIFIER-- syntax of objects
ObjectSyntax ::=CHOICE{
simple
SimpleSyntax,-- note that SEQUENCEs for conceptual tables and-- rows are not mentioned here...
application-wide
ApplicationSyntax
}-- built-in ASN.1 types
SimpleSyntax ::=CHOICE{-- INTEGERs with a more restrictive range-- may also be used
integer-value -- includes Integer32INTEGER(-2147483648..2147483647),-- OCTET STRINGs with a more restrictive size-- may also be used
string-value
OCTETSTRING(SIZE(0..65535)),
objectID-value
OBJECTIDENTIFIER}-- indistinguishable from INTEGER, but never needs more than
-- 32-bits for a two's complement representationInteger32::=
[UNIVERSAL2]
IMPLICITINTEGER(-2147483648..2147483647)-- application-wide types
ApplicationSyntax ::=CHOICE{
ipAddress-value
IpAddress,
counter-value
Counter32,
timeticks-value
TimeTicks,
arbitrary-value
Opaque,
big-counter-value
Counter64,
unsigned-integer-value -- includes Gauge32Unsigned32}-- in network-byte order
-- (this is a tagged type for historical reasons)IpAddress::=
[APPLICATION0]
IMPLICITOCTETSTRING(SIZE(4))-- this wraps
Counter32::=
[APPLICATION1]
IMPLICITINTEGER(0..4294967295)-- this doesn't wrapGauge32::=
[APPLICATION2]
IMPLICITINTEGER(0..4294967295)-- an unsigned 32-bit quantity
-- indistinguishable from Gauge32Unsigned32::=
[APPLICATION2]
IMPLICITINTEGER(0..4294967295)-- hundredths of seconds since an epochTimeTicks::=
[APPLICATION3]
IMPLICITINTEGER(0..4294967295)-- for backward-compatibility onlyOpaque::=
[APPLICATION4]
IMPLICITOCTETSTRING-- for counters that wrap in less than one hour with only 32 bitsCounter64::=
[APPLICATION6]
IMPLICITINTEGER(0..18446744073709551615)
-- definition for objectsOBJECT-TYPEMACRO::=BEGINTYPENOTATION::="SYNTAX" Syntax
UnitsPart
"MAX-ACCESS" Access
"STATUS" Status
"DESCRIPTION" Text
ReferPart
IndexPart
DefValPart
VALUENOTATION::=
value(VALUE ObjectName)
Syntax ::=
type(ObjectSyntax)
| "BITS""{" Kibbles "}"
Kibbles ::=
Kibble
| Kibbles "," Kibble
Kibble ::=
identifier "(" nonNegativeNumber ")"
UnitsPart ::="UNITS" Text
| empty
Access ::="not-accessible"
| "accessible-for-notify"
| "read-only"
| "read-write"
| "read-create"
Status ::="current"
| "deprecated"
| "obsolete"
ReferPart ::="REFERENCE" Text
| empty
IndexPart ::="INDEX""{" IndexTypes "}"
| "AUGMENTS""{" Entry "}"
| empty
IndexTypes ::=
IndexType
| IndexTypes "," IndexType
IndexType ::="IMPLIED" Index
| Index
Index ::=-- use the SYNTAX value of the-- correspondent OBJECT-TYPE invocation
value(Indexobject ObjectName)
Entry ::=-- use the INDEX value of the-- correspondent OBJECT-TYPE invocation
value(Entryobject ObjectName)
DefValPart ::="DEFVAL""{" value(Defval Syntax)"}"
| empty
-- uses the NVT ASCII character set
Text ::="""" string """"END-- definitions for notificationsNOTIFICATION-TYPEMACRO::=BEGINTYPENOTATION::=
ObjectsPart
"STATUS" Status
"DESCRIPTION" Text
ReferPart
VALUENOTATION::=
value(VALUE NotificationName)
ObjectsPart ::="OBJECTS""{" Objects "}"
| empty
Objects ::=
Object
| Objects "," Object
Object ::=
value(Name ObjectName)
Status ::="current"
| "deprecated"
| "obsolete"
ReferPart ::="REFERENCE" Text
| empty
-- uses the NVT ASCII character set
Text ::="""" string """"END-- definitions of administrative identifierszeroDotZero OBJECT-IDENTITYSTATUScurrentDESCRIPTION"A value used for null identifiers."::={00}END